require 'singleton'


def p(*args)
  args.each do |arg|
    puts "\033[32m#{arg}\033[0m"
  end
  nil
end



$algoritmo_de_procesamiento = AlgoritmoDeGanadoresActual.new

$padron = {
  'pablo brusco' => {:pass => '1234', :claustro => :alumnos},
  'mariano bianchi'=> {:pass => '1234', :claustro => :docentes},
  'pablo' => {:pass => '1234', :claustro => :graduados}
}

$reglamento_candidatos = ReglamentoDeCandidatosActual.instance
$registro_de_candidatos = RegistroDeCandidatos.instance

$sistema_externo={
  :docentes => {
    'docente1' => {
      :anios_como_profesor => 4,
    },
    'docente2' => {
      :anios_como_profesor => 0,
    },
    'docente3' => {
      :anios_como_profesor => 2,
    },
    'docente_y_graduado' => {
      :anios_como_profesor => 2,
    }
  },
  :alumnos => {
    'alumno1' => {
      :cantidad_de_materias_aprobadas => 2,
      :estudia_computacion => true,
    },
    'alumno2' => {
      :cantidad_de_materias_aprobadas => 0,
      :estudia_computacion => true,
    },
    'alumno3' => {
      :cantidad_de_materias_aprobadas => 4,
      :estudia_computacion => false,
    }
  },
  :graduados => {
    'graduado1' => {
      :cuatrimestres_como_docente => 2,
      :es_egresado_de_computacion => false,
    },
    'graduado2' => {
      :cuatrimestres_como_docente => 0,
      :es_egresado_de_computacion => true,
    },
    'graduado3' => {
      :cuatrimestres_como_docente => 5,
      :es_egresado_de_computacion => true,
    },
    'docente_y_graduado' => {
      :cuatrimestres_como_docente => 4,
      :es_egresado_de_computacion => false,
    },
  }
}
